package common;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/**
 * Created by cc
 * Description: 对读写文件的操作进一步封装；提供两个方法，一个负责读取整个文件内容，返回一个字符串；另一个方法负责写入整个字符串到文件中。
 * User: CZH
 * Date: 2023-01-05
 * Time: 16:03
 */
public class FileUtil {

    // 负责把 filePath 对应的文件的内容读取出来，放到返回值中
    public static String readFile(String filePath) {
        StringBuilder result = new StringBuilder();
        //此处写法，能保证资源关闭不被异常影响
        try (FileReader fileReader = new FileReader(filePath)) {
            //循环读取字符流的内容，拼接到 result 中
            while (true) {
                int ch = fileReader.read();
                if (ch == -1) {
                    break;
                }
                result.append((char)ch);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return result.toString();
    }

    // 负责把 content 写入到 filePath 对应的文件中
    public static void writeFile(String filePath, String content) {
        try (FileWriter fileWriter = new FileWriter(filePath)) {
            fileWriter.write(content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        FileUtil.writeFile("d:/test.txt","hello world");
        String content = FileUtil.readFile("d:/test.txt");
        System.out.println(content);
    }
}
